package controllers;

import java.util.List;

import dao.FachadaDAO;
import dao.fachada.FachadaProdutoDAO;
import models.Produto;
import models.Tag;
import play.mvc.Controller;
import play.mvc.With;

public class Produtos extends Controller{
	
	public static void cadastrarProduto(){
		FachadaDAO fachada = new FachadaDAO();
		List<Tag> tags = fachada.listarTodasTags();
		render(tags);
	}
	
	public static void inserirProduto(String _nome, String _preco, String _tagID,
			String _quantidade, String _imagem, String _descricao){
		
//		System.out.println("MINHA TAG ID: "+_tagID);
		
		Produto produto = new Produto();
		
		produto.setNome(_nome);
		double preco = Double.parseDouble(_preco);
		produto.setPreco(preco);
		int quantidade = Integer.parseInt(_quantidade);
		produto.setQuantidade(quantidade);
		produto.setImagem(_imagem);
		produto.setDescricao(_descricao);
		
		FachadaDAO fachada = FachadaDAO.getInstance();
		if(fachada.cadastrarProduto(produto, _tagID)){
			listarProduto();
		}
			
	}
	
	public static void editarProduto(String id){
		FachadaDAO fachadaDAO = FachadaDAO.getInstance();
		Produto produto = fachadaDAO.buscarProduto(id);
		
		render(produto);
	}
	
	public static void atualizarProduto(String nome, String descricao, String imagem, String preco, String quantidade, String id){
		Produto produto = new Produto();
		
		produto.setDescricao(descricao);
		produto.setId(Integer.parseInt(id));
		produto.setImagem(imagem);
		produto.setNome(nome);
		produto.setPreco(Double.parseDouble(preco));
		produto.setQuantidade(Integer.parseInt(quantidade));
		
		FachadaProdutoDAO fachadaProdutoDAO = FachadaProdutoDAO.getInstance();
		fachadaProdutoDAO.alterar(produto);
		
		Produtos.listarProduto();
	}
	
	public static void excluirProduto(String _id){
		FachadaProdutoDAO fachadaProdutoDAO = FachadaProdutoDAO.getInstance();
		if(fachadaProdutoDAO.excluirProduto(_id)){
			listarProduto();
		}
	}
	
	public static void listarProduto(){
		FachadaDAO fachada = FachadaDAO.getInstance();
		
		List<Produto> listaProdutos = fachada.listarTodosProdutos();
		
		render( listaProdutos);
	}
	
	public static void carregarAdicionarTag(String id){
		FachadaDAO fachada = new FachadaDAO();
		List<Tag> tags = fachada.listarTodasTags();
		render("Produtos/adicionarTagAoProduto.html", id, tags);
	}
	
	public static void adicionarTag(String _id, String _tagID){
		FachadaProdutoDAO fachada = FachadaProdutoDAO.getInstance();
		fachada.addTagAoProduto(_id, _tagID);
		
		listarProduto();
	}
}
